package com.qingcloud.api.dcengine.service.fallback;

import com.qingcloud.api.dcengine.dto.TablePageDTO;
import com.qingcloud.api.dcengine.dto.ddata.CommonDomainData;
import com.qingcloud.api.dcengine.dto.ddata.DomainAqciData;
import com.qingcloud.api.dcengine.dto.ddata.DomainAvgData;
import com.qingcloud.api.dcengine.dto.ddata.DomainDaysData;
import com.qingcloud.api.dcengine.model.ddata.DomainDataListParam;
import com.qingcloud.api.dcengine.model.ddata.DomainDataPageParam;
import com.qingcloud.api.dcengine.service.DomainDataApi;
import org.springframework.stereotype.Component;

import java.util.Collections;
import java.util.List;

/**
 * 区域数据熔断保护实现
 */
@Component
public class DomainDataApiFallback implements DomainDataApi {

    /**
     * 小时数据通用列表接口
     */
    public List<CommonDomainData> hourList(DomainDataListParam listParam) {
        return Collections.emptyList();
    }

    /**
     * 小时数据通用分页查询接口
     */
    public TablePageDTO<CommonDomainData> hourPage(DomainDataPageParam pageParam) {
        return new TablePageDTO<CommonDomainData>();
    }

    /**
     * 天数据通用列表接口
     */
    public List<CommonDomainData> dayList(DomainDataListParam listParam) {
        return Collections.emptyList();
    }

    /**
     * 天数据通用分页查询接口
     */
    public TablePageDTO<CommonDomainData> dayPage(DomainDataPageParam pageParam) {
        return new TablePageDTO<CommonDomainData>();
    }

    /**
     * 月数据通用列表接口
     */
    public List<CommonDomainData> monthList(DomainDataListParam listParam) {
        return Collections.emptyList();
    }

    /**
     * 月数据通用分页查询接口
     */
    public TablePageDTO<CommonDomainData> monthPage(DomainDataPageParam pageParam) {
        return new TablePageDTO<CommonDomainData>();
    }

    /**
     * 月数据通用列表接口
     */
    public List<CommonDomainData> yearList(DomainDataListParam listParam) {
        return Collections.emptyList();
    }

    /**
     * 月数据通用分页查询接口
     */
    public TablePageDTO<CommonDomainData> yearPage(DomainDataPageParam pageParam) {
        return new TablePageDTO<CommonDomainData>();
    }

    /**
     * 按区域统计重污染天数，AQI > 200的
     */
    public List<DomainDaysData> badDays(DomainDataListParam listParam) {
        return Collections.emptyList();
    }

    /**
     * 按区域统计优良天数，AQI < 101的
     */
    public List<DomainDaysData> goodDays(DomainDataListParam listParam) {
        return Collections.emptyList();
    }

    /**
     * 按区域计算六参污染均值
     */
    public List<DomainAvgData> pollutionAvg(DomainDataListParam listParam) {
        return Collections.emptyList();
    }

    public List<DomainAqciData> aqciList(DomainDataListParam listParam) {
        return Collections.emptyList();
    }

    public TablePageDTO<DomainAqciData> aqciPage(DomainDataPageParam pageParam) {
        return new TablePageDTO<DomainAqciData>();
    }

    public List<CommonDomainData> last(String domainId, String stationType) {
        return Collections.emptyList();
    }
}
